

SELECT decode(b.db,'DB1','LIBERO','TUTELA') UTENTE,
substr(A.CODICE_CONTRATTO,-8,8) contratto,a.data_avvio,
decode(to_char(b.data_chiusura),'00-000-00','',to_char(b.data_chiusura)) data_chiusura,
A.POD,A.QUANTITA,A.GG,B.CODICE_TIPO_USO uso,B.TENSIONE_PREVISTA tensione,
B.TIPO_MISUR,B.IND_MAX,
CASE WHEN B.IND_MAX = 'SI' THEN A.POTENZA_IMPEGNATA_110 ELSE A.POTENZA_IMPEGNATA_CONT END POTENZA,
--CASE WHEN QUANTITA-900 < 0 THEN QUANTITA ELSE 900 END S1,
 --      CASE WHEN QUANTITA-1800 > 0 THEN   900  ELSE CASE WHEN QUANTITA-900 < 0 THEN 0 ELSE QUANTITA-900 END    END S2,
 --      CASE WHEN QUANTITA-2640 > 0 THEN   840  ELSE CASE WHEN QUANTITA-1800 < 0 THEN 0 ELSE QUANTITA-1800 END    END S3,
 --      CASE WHEN QUANTITA-3540 > 0 THEN   900  ELSE CASE WHEN QUANTITA-2640 < 0 THEN 0 ELSE QUANTITA-2640 END    END S4,
 --      CASE WHEN QUANTITA-4440 > 0 THEN   900  ELSE CASE WHEN QUANTITA-3540 < 0 THEN 0 ELSE QUANTITA-3540 END    END S5,
  --     CASE WHEN QUANTITA-90000000000 > 0 THEN   900  ELSE CASE WHEN QUANTITA-4440 < 0 THEN 0 ELSE QUANTITA-4440 END END S6,
 CASE WHEN B.CODICE_TIPO_USO IN('R','N') THEN       
 CASE WHEN QUANTITA/GG-900/365 < 0 THEN case when quantita < 0 then 0 else QUANTITA end ELSE 900/365*GG  end END SC1,
 CASE WHEN B.CODICE_TIPO_USO IN('R','N') THEN  
       CASE WHEN QUANTITA/GG-1800/365 > 0 THEN   900/365*GG  ELSE CASE WHEN QUANTITA/GG-900/365 < 0 THEN 0 ELSE (QUANTITA/GG-900/365)*GG END    END END SC2,
       CASE WHEN B.CODICE_TIPO_USO IN('R','N') THEN  
       CASE WHEN QUANTITA/GG-2640/365 > 0 THEN   840/365*GG  ELSE CASE WHEN QUANTITA/GG-1800/365 < 0 THEN 0 ELSE (QUANTITA/GG-1800/365)*GG END  END  END SC3,
       CASE WHEN B.CODICE_TIPO_USO IN('R','N') THEN  
       CASE WHEN QUANTITA/GG-3540/365 > 0 THEN   900/365*GG  ELSE CASE WHEN QUANTITA/GG-2640/365 < 0 THEN 0 ELSE (QUANTITA/GG-2640/365)*GG END END  END SC4,
       CASE WHEN B.CODICE_TIPO_USO IN('R','N') THEN  
       CASE WHEN QUANTITA/GG-4440/365 > 0 THEN   900/365*GG  ELSE CASE WHEN QUANTITA/GG-3540/365 < 0 THEN 0 ELSE (QUANTITA/GG-3540/365)*GG END  END   END SC5,
       CASE WHEN B.CODICE_TIPO_USO IN('R','N') THEN  
       CASE WHEN QUANTITA/GG-90000000000/365 > 0 THEN   900/365*GG  ELSE CASE WHEN QUANTITA/GG-4440/365 < 0 THEN 0 ELSE (QUANTITA/GG-4440/365)*GG END END END SC6      
       
       
       
       
       
FROM (
SELECT POD,SUM(QUANTITA_VOCE) QUANTITA ,MAX(DATA_CHIUSURA_RICHIESTA)-MIN(DATA_AVVIO)+1  GG,
       MAX(CODICE_CONTRATTO) CODICE_CONTRATTO,MAX(CODICE_COMPETENZA) CODICE_COMPETENZA,
       MAX(POTENZA_IMPEGNATA_110) POTENZA_IMPEGNATA_110,
       MAX(POTENZA_IMPEGNATA_CONT) POTENZA_IMPEGNATA_CONT,max(data_avvio) data_avvio
       
      
FROM ASM_indagine_distr 
 GROUP BY POD) A,
 
ASM_indagine_distr B

WHERE A.POD=B.POD
AND   A.CODICE_CONTRATTO=B.CODICE_CONTRATTO
AND   A.CODICE_COMPETENZA=B.CODICE_COMPETENZA
